Why am I passionate about this?

I started programming in high school and wrote software in many domains for 30 years, from the early ARPA-net to massive credit card software. I wrote a FORTRAN compiler with one assistant in a year. I got hassled to do proper project management. Nightmare. It was all about inflated expectations instead of moving fast and winning. Then in 25 years of venture capital investing, I learned from many young companies how the little startups built quickly and well things that giants like Google literally could not get done. This book and my others spell out what I learned from the little guys who beat the giants.


I wrote

Wartime Software

By David B. Black,

Book cover of Wartime Software

What is my book about?

If your goal is to learn the standard techniques of software, don't waste your time with my books. If you…

When you buy books, we may earn a commission that helps keep our lights on (or join the rebellion as a member).

The books I picked & why

Book cover of The C Programming Language

David B. Black Why did I love this book?

This is the defining book on the C language, written by the authors of the language and published in 1978.

By the early 1980’s it became the standard for writing systems software, helped by the fact that the UNIX operating system was written in it. UNIX grew to become the world’s dominant operating system, running over 90% of the world’s web servers. 

By the time I encountered the language I already had programmed extensively in assembler, COBOL, FORTRAN, and other languages. I had written a commercial FORTRAN compiler. The language changed my world, and this book was unique then and now for being written by the creators of the language that changed the world of programming forever.

Nothing about all the languages since C makes things better – yes, including C++. All they do is add complexity and put unnecessary constraints on language, along with continuing the focus on language when your goal as a programmer should be to write as little code as possible, putting everything you can into easily editable metadata.

By Brian Kernighan, Dennis Ritchie,

Why should I read it?

4 authors picked The C Programming Language as one of their favorite books, and they share why you should read it.

What is this book about?

This edition describes C as defined by the ANSI standard. This book is meant to help the reader learn how to program in C. The book assumes some familiarity with basic programming concepts like variables, assignment statements, loops, and functions. A novice programmer should be able to read along and pick up the language.


Book cover of The Art of Computer Programming, Volume 4, Fascicle 1, The: Bitwise Tricks & Techniques; Binary Decision Diagrams

David B. Black Why did I love this book?

This is the definitive book series on algorithms and the core of computer programming.

Unlike most such books, Knuth is a real programmer, deep into the details of the craft, to the point of creating his own assembler language and typesetting generation system. It’s partly the substance of the algorithms and their analysis, but even more is the way he models a way of thinking about and solving complexity that makes this a must-read series.

By Donald Knuth,

Why should I read it?

1 author picked The Art of Computer Programming, Volume 4, Fascicle 1, The as one of their favorite books, and they share why you should read it.

What is this book about?

Finally, after a wait of more than thirty-five years, the first part of Volume 4 is at last ready for publication. Check out the boxed set that brings together Volumes 1 - 4A in one elegant case, and offers the purchaser a $50 discount off the price of buying the four volumes individually.



The Art of Computer Programming, Volumes 1-4A Boxed Set, 3/e

ISBN: 0321751043









Art of Computer Programming, Volume 4, Fascicle 1, The: Bitwise Tricks & Techniques; Binary Decision Diagrams: Bitwise Tricks & Techniques; Binary Decision Diagrams



This multivolume work on the analysis of algorithms has long been recognized…


Book cover of Principles of Compiler Design

David B. Black Why did I love this book?

Attending Harvard College gave me the opportunity to collaborate with great programmers in creating the early ARPA-net. But the best course I took was on compiler theory and construction, using an early draft of the material in this book.

Of course I learned how to build a compiler, which I did as my first job after graduating. But more important, I learned that a well-built compiler is a small amount of language-independent code with two major parts.

First the input part that realizes the content of the lexical and grammatical metadata, like today’s LEX and YACC, to turn the program being compiled into a semantic model.

Second the code generator that reads the semantic model and, based on generative model metadata, turns the semantics of the program being compiled to whatever form you want, whether executable code, assembler language, byte code or whatever.

This approach, while indispensable for compilers and interpreters, is also the model for taking a meta-data-driven approach to building software applications of any kind.

By Alfred V. Aho, Jeffrey D. Ullman,

Why should I read it?

1 author picked Principles of Compiler Design as one of their favorite books, and they share why you should read it.

What is this book about?

Computer science


Book cover of Gödel's Proof

David B. Black Why did I love this book?

Nagel’s book is the most understandable explanation I’ve found about one of the most cosmically seminal math proofs: Godel’s incompleteness theorem.

It takes the idea of recursion and self-reference to the ultimate conclusion about truth, understanding, and boundaries of existence. This may sound hootie-tootie, but think of the sequence of abstraction in math: arithmetic, algebra, calculus, etc.

Once you add in recursion (self-reference), you’ve got the most important concepts underlying true understanding and productivity in software – something never discussed in computer science, and certainly not in practical programming.

Think about the so-called Von Neumann computer architecture, which underlies all modern computers – instructions are data, stored in the same place as ordinary data, and some instructions write data that are instructions. This is recursion taken to the next level. 

By Ernest Nagel,

Why should I read it?

2 authors picked Gödel's Proof as one of their favorite books, and they share why you should read it.

What is this book about?

An accessible explanation of Kurt Goedel's groundbreaking work in mathematical logic
In 1931 Kurt Goedel published his fundamental paper, "On Formally Undecidable Propositions of Principia Mathematica and Related Systems." This revolutionary paper challenged certain basic assumptions underlying much research in mathematics and logic. Goedel received public recognition of his work in 1951 when he was awarded the first Albert Einstein Award for achievement in the natural sciences-perhaps the highest award of its kind in the United States. The award committee described his work in mathematical logic as "one of the greatest contributions to the sciences in recent times."
However, few…


Book cover of Gödel, Escher, Bach: An Eternal Golden Braid

David B. Black Why did I love this book?

This book explains fundamental concepts of recursion, symmetry, intelligence, focusing on math, art, and music.

It’s full of wonderful tales, amazing facts, little-talked-about relationships among math, art, and music (and by reference computing), not to mention puns and amusing language. If you want to become a better person, this is a good book to read. If you want to understand and succeed in life, ditto.

If you let this book lift your mind to its space and height, you will find yourself vastly more capable of creating and understanding software. It’s a wonderful companion to the Ernest Nagel book I’ve recommended.

By Douglas R. Hofstadter,

Why should I read it?

14 authors picked Gödel, Escher, Bach as one of their favorite books, and they share why you should read it.

What is this book about?

Douglas Hofstadter's book is concerned directly with the nature of maps" or links between formal systems. However, according to Hofstadter, the formal system that underlies all mental activity transcends the system that supports it. If life can grow out of the formal chemical substrate of the cell, if consciousness can emerge out of a formal system of firing neurons, then so too will computers attain human intelligence. Goedel, Escher, Bach is a wonderful exploration of fascinating ideas at the heart of cognitive science: meaning, reduction, recursion, and much more.


Explore my book 😀

Wartime Software

By David B. Black,

Book cover of Wartime Software

What is my book about?

If your goal is to learn the standard techniques of software, don't waste your time with my books. If you don’t have the time or money to beat the industry giants with 100X your resources, this book has my observations about how many small groups over decades have used methods that aren’t taught to compete and win. 

Peacetime software is all about requirements, estimates, and meeting the expectations that have been set. If you say it will take 100 programmers two years to do it and you sort of get it done in 23 months, you’re a hero. But if you’re in the Olympics, all that matters is running faster than everyone else. The MBA’s and experienced managers will say you’re breaking the rules. Wrong. You’re just following better ones.

Book cover of The C Programming Language
Book cover of The Art of Computer Programming, Volume 4, Fascicle 1, The: Bitwise Tricks & Techniques; Binary Decision Diagrams
Book cover of Principles of Compiler Design

Share your top 3 reads of 2024!

And get a beautiful page showing off your 3 favorite reads.

1,355

readers submitted
so far, will you?

You might also like...

Victoria Unveiled

By Shane Joseph,

Book cover of Victoria Unveiled

Shane Joseph Author Of Victoria Unveiled

New book alert!

Why am I passionate about this?

Author

Shane's 3 favorite reads in 2024

What is my book about?

A fast-paced literary thriller with a strong sci-fi element and loaded with existential questions. Beyond the entertainment value, this book takes a hard look at the perilous world of publishing, which is on a crash course to meet the nascent, no-holds-barred world of AI. Could these worlds co-exist, or will they destroy each other? And more importantly, how will humans tolerate their own creations, the robots, on this planet?

In this, his latest speculative fiction novel, Shane Joseph, returns to the “what if” questions facing humanity that he raised in After the Flood, a book that won him the…

Victoria Unveiled

By Shane Joseph,

What is this book about?

With Chatbots and Large Language Models changing the world of writing and publishing dramatically, what happens when we introduce a sentient robot capable of feelings into the mix?

Phil Kruger, inventor, and serial womanizer, believes he has the answer in his creation, Victoria, the first sentient robot in the world, imbued with beauty, knowledge, and strength and on a crash course to acquire human feelings through massive infusions of data. Arrayed against him are independent trade publisher Artemius (Art) Jones and his rebellious and sexually starved daughter, Paula, an editor herself, who is determined to take her father's failing press,…


5 book lists we think you will like!

Interested in artificial intelligence, computer programming, and presidential biography?